Made many changes related to:

if (it != NULL) => if (it != listSprNodes.end()) 

resolved ambiguous pow() calls

fixed erased iterators

fixed level order

added 'if(retval == NULL) return false'